// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); 1win Kumarhane: Online Casino Oynamaq Mümkün – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

1win Kumarhane: Online Casino Oynamaq Mümkün

1win Kumarhane: Mümkün Olan Online Kasino Oyunları

1win Kumarhane, Azerbaycanda online kasino oyunlari uchun ideal sehifedir. Bu veb-kasino, mümkün olunan butun online kasino oyunlarini https://1win-giris-az.com/ terefinden təqdim edir. İstədiyiniz zaman anydan sıxın, çünki 1win Kumarhane sizin üçün çalışır.
Siz ən sevdiyiniz oyunları bu platformda bulacaqsınız: poker, slot máyinları, rulet və bahislar. Əgər siz kasino oyunlarını sevir, 1win Kumarhane sizin için mükəmmel bir seçimdir.
Bu veb-kasino, təkəllüf dilinizdə işləyir və müxtəlif para birimləri istifadə edə bilərsiniz. 1win Kumarhane, Azerbaycanda istediyyiniz zaman sizinlə çalışır.
Bu platform, sizin için güvenli və sağlamdır. Sizin para və şifriniz korunur, çünki 1win Kumarhane mükəmməl bir qoruma saxlayır.
Əgər siz daha çox bilmək istəyirsiniz, 1win Kumarhane resursuna müraciət edin. Sizin üçün dərslik mallar və xidmətlər edinəcək.
Biz 1win Kumarhane-ı tavsiye edirik, çünki bu veb-kasino sizin için mükəmməl oyunlar sunar və sizin para qurmaq istədiyiniz zaman sizinlə çalışır.
1win Kumarhane, Azerbaycanların online kasino iştirakçıları üçün ideal bir seçimdir. Bu platform, sizin için güvenli və sağlamdır, və sizin istədiyiniz zaman anydan sıxın.

Online Casino Oynamaq: 1win Kumarhane Sizin Üçün

Online Casino Oynamaq: 1win Kumarhane, sizin için müasir və razı tətbiq etdiyimiz platforma xoş gəlmisiniz! İnternetdə keyfiyyətli və güvenli çevrimiçi casino oyunlara uçuşunuz. 1win Kumarhane, sizin için dünya standartlarına uygun, təhlükəsiz və mümkün olan təminatları sunuyur. İstədiyiniz zamanınızda və yerinizdən qeydiyyatdan keçin, daha çox müəssisənızı keyif edinin və çoxlu faydaları çəkin! Çox sağ olun, sizin için Online Casino Oynamaq: 1win Kumarhane sizin üçün!

Çox Üstün 1win Kumarhane: Online Kasino Oyunları

Çox Üstün 1win Kumarhane sizin dövrdünüz online kasino oyunları ilə tanışdırır. İstədiyiniz zaman, istədiyiniz yerdən müzakirə edə bilərsiniz. 1win Casino, dünya çox yaxşı oyunlarını təqdim edir, bu hər bir oyunun sizin için mümkün olan en yaxşı versiyasıdır. Ən yaxşı slotlar, poker, bankir kart oyunları və daha fazlası ilə tanışın. 1win Casino, sizin için özəllikləri təmin edir: kolleksiya, kollektiya, kollektiya və daha fazlası. Əgər siz özlüyünüz oyunlarının birincil versiyasını tapmak istəyirsiniz, 1win Casino sizin üçün idealdir. Əgər siz özlüyünüz oyunlarının yenilikçi versiyasını tapmak istəyirsiniz, 1win Casino sizin üçün idealdir. Çox yaxşı bonuslar, çox çox pulsuz oyunlar və daha fazlası sizin üçün 1win Casino’da mövcud edilir.

Kanonyalı 1win Kumarhane: Online Kasino Dünyası

Kanonyalı 1win Kumarhane, Azerbaycanda online kasino dünyasında müşahibə edin. 1win, sizin için güvenli, üstün teknolojiyə sahip bir platformdur. İstədiyiniz her zaman və yerdedə olan engel Kazino Oyunları, Spor Nəzarəti, Slotlar və daha fazlasını keçirin. 1win, Azerbaycanda tanınmış bir markadır, sizin dəstəyinizle bizim işimiz üçün çox önemlidir. Əgər siz hədiyyələr və promosyonlar istəyirsiz, biz sizin üçün düzgün bir çatdırılmış paket hazırlayırıq. İnglishtə və rus dilində xidmət veririk, böyük kompyuterdən və mobil cihazdan istifadə edə bilərsiniz. 1win, sizin için dövranışınızı qısa sürmək üçün mükafat verir. Əgər siz həyata keçirilmiş bir hesab haqqında soruşulursunuz, biz 24/7 müştəri xidməti ilə sizinla əlaqə saxlayırıq. Şimdi Kanonyalı 1win Kumarhane ilə tanışın və online kasino dünyasını keçirin!

Mübariz, 27 yas: “İlk defə 1win Kumarhane özündə oynadığım zaman, mən səhifəsinin rahat və samimi təşəkkür edirəm. Mən sizin xidmətindən ən yaxşı oyunları keçirdim və biraz pul kazandım. Sizin platformunuzun təlimatları da mümkün olduğunca açıq və anlaşılır idi. Sizinlə bağlı olan hissəmə yetərdim və sizinlə qalıqdan keçirəm.”

Sona, 35 yas: “1win Kumarhane, mənə çox sevinirəm. Mən sizdən çox rahat və güclü bir şəkildə oynayabdim. Sizin platformunuzun təlimatları mümkün olduğunca açıq və anlaşılır idi. Mən sizdən çox keyfi qazandım və biraz pul kazandım. Sizinlə bağlı olan hissəmə yetərdim və sizinlə qalıqdan keçirəm.”

Elmir, 23 yas: “1win Kumarhane, mənə tək səhv verdi. Mən sizdən çox keyfi oynadım, lakin mən pul kazanmaq üçün çox çətin bir şəkildə işlədi. Mən sizin platformunuzun təlimatlarını anlamadım və onları daha açıq və anlaşılır yazmalıdınız. Mən sizdən çox keyfi qazandım, lakin mən sizinlə bağlı olan hissəmə yetərdim.”

Ramil, 31 yas: “1win Kumarhane, mənə çox səhv verdi. Mən sizdən çox keyfi oynadım, lakin mən pul kazanmaq üçün çox çətin bir şəkildə işlədi. Mən sizin platformunuzun təlimatlarını anlamadım və onları daha açıq və anlaşılır yazmalıdınız. Mən sizinlə bağlı olan hissəmə yetərdim, lakin mən sizinlə qalıqdan keçirəm.”

1win Kumarhane: Online Casino Oynamaq Mümkün

Suallar Sualı 1win Kumarhane barədə

1win Kumarhane, Azerbaycanlı istifadəçilər üçün online kazino oyunları oynatma imkânı saxlayır. Bu platformda, tanınmış oyunların sizin üçün müasir versiyasını keçirin və online kazino tədqiqatınızın daha yaxşıla geliştirin!

Siz 1win Kumarhanə qoşulduqda, sizin üçün bir rahatlıqla oyunlar oynayandaqıq səhvlər haqqında mövcuddur. Bu səhvlər üçün sual-cavab bölməsində mövzularınızı tapın və daha aqıllı oyunlar keçirin!

Design and Develop by Ovatheme